\hypertarget{classCGuiProtocolEngine}{
\section{\-C\-Gui\-Protocol\-Engine \-Class \-Reference}
\label{classCGuiProtocolEngine}\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}}
}


protocol engine for gui  




{\ttfamily \#include $<$gui\-\_\-protocol\-\_\-engine.\-h$>$}

\-Inheritance diagram for \-C\-Gui\-Protocol\-Engine\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classCGuiProtocolEngine}
\end{center}
\end{figure}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCGuiProtocolEngine_a84295eeae8f8b6cbc1969c4b340710fc}{\-C\-Gui\-Protocol\-Engine} (\hyperlink{properties__reader_8h_a67847fd00cb49d80dd45f61722eb9a43}{\-C\-Properties\-Reader} $\ast$p\-Config)
\item 
virtual \hyperlink{classCGuiProtocolEngine_a9f0ceb6ed179cfd11752360c2f06f4d2}{$\sim$\-C\-Gui\-Protocol\-Engine} ()
\item 
virtual bool \hyperlink{classCGuiProtocolEngine_afa041f52b16ecc730f37fb483ff21dba}{open} ()
\item 
virtual void \hyperlink{classCGuiProtocolEngine_a1d6a980592509648b3fff12e02dee3a6}{close} ()
\item 
virtual \hyperlink{namespaceNStegIO_a7e327c93e6134904ec18fdd7e7a72e80}{\-N\-Steg\-I\-O\-::\-E\-Read\-State} \hyperlink{classCGuiProtocolEngine_a282dc38ced65366d68d4fa4eb4aedae0}{read} (unsigned char \&p\-Byte)
\item 
virtual void \hyperlink{classCGuiProtocolEngine_a319afc1359f0392a7bd3d378be01fb8c}{write} (unsigned char p\-Byte)
\item 
virtual int \hyperlink{classCGuiProtocolEngine_a5b2ef1ee54e9f69966768b6fed23e01b}{available} ()
\begin{DoxyCompactList}\small\item\em get size of available bytes which can be read with the read methode. \-For example\-: \-If this methode return 19 then the read methode can be called 19 times without an \-E\-O\-F. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{\-Private \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCGuiProtocolEngine_a1aea05219b67cc1d8e17431680d1be67}{\-C\-Gui\-Protocol\-Engine} ()
\item 
\hyperlink{classCGuiProtocolEngine_a2f27b81d1a2098637bb98faad37e8421}{\-C\-Gui\-Protocol\-Engine} (const \hyperlink{classCGuiProtocolEngine}{\-C\-Gui\-Protocol\-Engine} \&)
\item 
\hyperlink{classCGuiProtocolEngine}{\-C\-Gui\-Protocol\-Engine} \& \hyperlink{classCGuiProtocolEngine_a1a1af78051ab66b04365629dce778f51}{operator=} (const \hyperlink{classCGuiProtocolEngine}{\-C\-Gui\-Protocol\-Engine} \&)
\end{DoxyCompactItemize}
\subsection*{\-Private \-Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{properties__reader_8h_a67847fd00cb49d80dd45f61722eb9a43}{\-C\-Properties\-Reader} $\ast$ \hyperlink{classCGuiProtocolEngine_ab4353e5505fcba4443b4512bfcecbdeb}{m\-Config}
\end{DoxyCompactItemize}
\subsection*{\-Static \-Private \-Attributes}
\begin{DoxyCompactItemize}
\item 
static const std\-::string \hyperlink{classCGuiProtocolEngine_a0218124529e7b6e776ba691f70799637}{s\-Ini\-Section\-Name}
\end{DoxyCompactItemize}


\subsection{\-Detailed \-Description}
protocol engine for gui 

\begin{DoxyAuthor}{\-Author}
jwurzer 
\end{DoxyAuthor}
\begin{DoxyNote}{\-Note}
capable to operate in full duplex 
\end{DoxyNote}


\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classCGuiProtocolEngine_a84295eeae8f8b6cbc1969c4b340710fc}{
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}}
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!CGuiProtocolEngine@{\-C\-Gui\-Protocol\-Engine}}
\subsubsection[{\-C\-Gui\-Protocol\-Engine}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Gui\-Protocol\-Engine\-::\-C\-Gui\-Protocol\-Engine (
\begin{DoxyParamCaption}
\item[{{\bf \-C\-Properties\-Reader} $\ast$}]{p\-Config}
\end{DoxyParamCaption}
)}}
\label{classCGuiProtocolEngine_a84295eeae8f8b6cbc1969c4b340710fc}

\begin{DoxyParams}{\-Parameters}
{\em p\-Filename\-Read} & file containing the data that is {\bfseries sent} \\
\hline
{\em p\-Filename\-Write} & file containing the data that is {\bfseries received} \\
\hline
\end{DoxyParams}
\hypertarget{classCGuiProtocolEngine_a9f0ceb6ed179cfd11752360c2f06f4d2}{
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!$\sim$\-C\-Gui\-Protocol\-Engine@{$\sim$\-C\-Gui\-Protocol\-Engine}}
\index{$\sim$\-C\-Gui\-Protocol\-Engine@{$\sim$\-C\-Gui\-Protocol\-Engine}!CGuiProtocolEngine@{\-C\-Gui\-Protocol\-Engine}}
\subsubsection[{$\sim$\-C\-Gui\-Protocol\-Engine}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Gui\-Protocol\-Engine\-::$\sim$\-C\-Gui\-Protocol\-Engine (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCGuiProtocolEngine_a9f0ceb6ed179cfd11752360c2f06f4d2}
\hypertarget{classCGuiProtocolEngine_a1aea05219b67cc1d8e17431680d1be67}{
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}}
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!CGuiProtocolEngine@{\-C\-Gui\-Protocol\-Engine}}
\subsubsection[{\-C\-Gui\-Protocol\-Engine}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Gui\-Protocol\-Engine\-::\-C\-Gui\-Protocol\-Engine (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCGuiProtocolEngine_a1aea05219b67cc1d8e17431680d1be67}
\hypertarget{classCGuiProtocolEngine_a2f27b81d1a2098637bb98faad37e8421}{
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}}
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!CGuiProtocolEngine@{\-C\-Gui\-Protocol\-Engine}}
\subsubsection[{\-C\-Gui\-Protocol\-Engine}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Gui\-Protocol\-Engine\-::\-C\-Gui\-Protocol\-Engine (
\begin{DoxyParamCaption}
\item[{const {\bf \-C\-Gui\-Protocol\-Engine} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCGuiProtocolEngine_a2f27b81d1a2098637bb98faad37e8421}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classCGuiProtocolEngine_a5b2ef1ee54e9f69966768b6fed23e01b}{
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!available@{available}}
\index{available@{available}!CGuiProtocolEngine@{\-C\-Gui\-Protocol\-Engine}}
\subsubsection[{available}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-Gui\-Protocol\-Engine\-::available (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCGuiProtocolEngine_a5b2ef1ee54e9f69966768b6fed23e01b}


get size of available bytes which can be read with the read methode. \-For example\-: \-If this methode return 19 then the read methode can be called 19 times without an \-E\-O\-F. 

\-This methode is necessary for \hyperlink{classCFrameBuilder}{\-C\-Frame\-Builder}. \-Not for \hyperlink{classCByteBuilder}{\-C\-Byte\-Builder}. \begin{DoxyReturn}{\-Returns}
\-Count of available bytes for read. 0 for currently no available bytes. -\/1 for an error or if this methode is not supported. 
\end{DoxyReturn}


\-Implements \hyperlink{classIStegIO_a1f5389e760fba772e51fa68a51b8a286}{\-I\-Steg\-I\-O}.

\hypertarget{classCGuiProtocolEngine_a1d6a980592509648b3fff12e02dee3a6}{
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!close@{close}}
\index{close@{close}!CGuiProtocolEngine@{\-C\-Gui\-Protocol\-Engine}}
\subsubsection[{close}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-Gui\-Protocol\-Engine\-::close (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCGuiProtocolEngine_a1d6a980592509648b3fff12e02dee3a6}


\-Implements \hyperlink{classIStegIO_ad52003c75ca81e4fc06af5d61d8572c9}{\-I\-Steg\-I\-O}.

\hypertarget{classCGuiProtocolEngine_afa041f52b16ecc730f37fb483ff21dba}{
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!open@{open}}
\index{open@{open}!CGuiProtocolEngine@{\-C\-Gui\-Protocol\-Engine}}
\subsubsection[{open}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-Gui\-Protocol\-Engine\-::open (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCGuiProtocolEngine_afa041f52b16ecc730f37fb483ff21dba}


\-Implements \hyperlink{classIStegIO_a84905da02c804db25caae639f21cc5e6}{\-I\-Steg\-I\-O}.

\hypertarget{classCGuiProtocolEngine_a1a1af78051ab66b04365629dce778f51}{
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!operator=@{operator=}}
\index{operator=@{operator=}!CGuiProtocolEngine@{\-C\-Gui\-Protocol\-Engine}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-Gui\-Protocol\-Engine}\& \-C\-Gui\-Protocol\-Engine\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf \-C\-Gui\-Protocol\-Engine} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCGuiProtocolEngine_a1a1af78051ab66b04365629dce778f51}
\hypertarget{classCGuiProtocolEngine_a282dc38ced65366d68d4fa4eb4aedae0}{
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!read@{read}}
\index{read@{read}!CGuiProtocolEngine@{\-C\-Gui\-Protocol\-Engine}}
\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-N\-Steg\-I\-O\-::\-E\-Read\-State} \-C\-Gui\-Protocol\-Engine\-::read (
\begin{DoxyParamCaption}
\item[{unsigned char \&}]{p\-Byte}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCGuiProtocolEngine_a282dc38ced65366d68d4fa4eb4aedae0}


\-Implements \hyperlink{classIStegIO_a2563a1768ad868b0da905917ab47faca}{\-I\-Steg\-I\-O}.

\hypertarget{classCGuiProtocolEngine_a319afc1359f0392a7bd3d378be01fb8c}{
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!write@{write}}
\index{write@{write}!CGuiProtocolEngine@{\-C\-Gui\-Protocol\-Engine}}
\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-Gui\-Protocol\-Engine\-::write (
\begin{DoxyParamCaption}
\item[{unsigned char}]{p\-Byte}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCGuiProtocolEngine_a319afc1359f0392a7bd3d378be01fb8c}


\-Implements \hyperlink{classIStegIO_a862ec55f0ba36ec0c8a016cfac438575}{\-I\-Steg\-I\-O}.



\subsection{\-Member \-Data \-Documentation}
\hypertarget{classCGuiProtocolEngine_ab4353e5505fcba4443b4512bfcecbdeb}{
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!m\-Config@{m\-Config}}
\index{m\-Config@{m\-Config}!CGuiProtocolEngine@{\-C\-Gui\-Protocol\-Engine}}
\subsubsection[{m\-Config}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-Properties\-Reader}$\ast$ {\bf \-C\-Gui\-Protocol\-Engine\-::m\-Config}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCGuiProtocolEngine_ab4353e5505fcba4443b4512bfcecbdeb}
\hypertarget{classCGuiProtocolEngine_a0218124529e7b6e776ba691f70799637}{
\index{\-C\-Gui\-Protocol\-Engine@{\-C\-Gui\-Protocol\-Engine}!s\-Ini\-Section\-Name@{s\-Ini\-Section\-Name}}
\index{s\-Ini\-Section\-Name@{s\-Ini\-Section\-Name}!CGuiProtocolEngine@{\-C\-Gui\-Protocol\-Engine}}
\subsubsection[{s\-Ini\-Section\-Name}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::string {\bf \-C\-Gui\-Protocol\-Engine\-::s\-Ini\-Section\-Name}\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCGuiProtocolEngine_a0218124529e7b6e776ba691f70799637}


\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\hyperlink{gui__protocol__engine_8h}{gui\-\_\-protocol\-\_\-engine.\-h}\item 
\hyperlink{gui__protocol__engine_8cxx}{gui\-\_\-protocol\-\_\-engine.\-cxx}\end{DoxyCompactItemize}
